﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Web.Security;

namespace Bowling
{
    public partial class BowlingLogin : System.Web.UI.Page
    {
        //로그인에 필요한 아이디와 패스워드, 로그인 확인 여부 정적 필드
        private static String UserID;
        private static String UserPW;
        private static bool LoginOkExists;

        /// <summary>
        /// 로그인 페이지를 로드시에 로그인, 로그아웃 패널의 Visivle 설정
        /// </summary>
        /// <remarks>
        /// 작성자: 권혁준
        /// </remarks>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (UserID != null && UserPW != null)
            {
                LblLogInMsg.Text = (new StringBuilder()).Append(UserID).Append("님 반갑습니다").ToString();
                pnlLogin.Visible = false;
                pnlLogout.Visible = true;
                LblLoginState.Text = "게임시작 버튼을 눌러주세요";
            }
            else
            {
                pnlLogin.Visible = true;
                pnlLogout.Visible = false;
            }
        }

        /// <summary>
        /// 로그인 버튼의 이벤트 메소드이며, UserID와 UserPW 정적 필드로 DB에 등록되었는지 확인합니다.
        /// 등록 여부에 따라 로그인, 로그아웃 패널을 보여줍니다.
        /// </summary>
        /// <remarks>
        /// 작성자: 권혁준
        /// </remarks>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            UserID = tbUserID.Text;
            UserPW = tbUserPW.Text;

            LoginOkExists = new BowlingBiz_Tx().LoginBowlingGame(UserID, UserPW);

            if (LoginOkExists == true)
            {
                LblLogInMsg.Text = (new StringBuilder()).Append(UserID).Append("님 반갑습니다").ToString();

                pnlLogout.Visible = true;
                pnlLogin.Visible = false;
                LblLoginState.Text = "게임시작 버튼을 눌러주세요";
            }
            else
            {
                LblLoginState.Text = "아이디와 패스워드를 확인하여 주십시오";
                pnlLogin.Visible = true;
                pnlLogout.Visible = false;
            }

        }

        /// <summary>
        /// 아이디 등록 버튼 클릭 이벤트입니다.
        /// 등록 페이지를 호출합니다.
        /// </summary>
        /// <remarks>
        /// 작성자: 권혁준
        /// </remarks>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void btnJoin_Click(object sender, EventArgs e)
        {
            Response.Redirect("GameUserJoin.aspx");
        }


        /// <summary>
        /// 로그아웃 버튼 이벤트입니다.
        /// 아이디와 패스워드 값을 초기화 시키고 로그인 페이지를 다시 호출합니다.
        /// </summary>
        /// <remarks>
        /// 작성자: 권혁준
        /// </remarks>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void btnLogOut_Click(object sender, EventArgs e)
        {
            UserID = null;
            UserPW = null;
            Response.Redirect("BowlingLogin.aspx");
        }

        /// <summary>
        /// 게임시작 버튼 이벤트입니다.
        /// 로그인이 확인된 아이디를 볼링 메인 페이지로 전달합니다.
        /// </summary>
        /// <remarks>
        /// 작성자: 권혁준
        /// </remarks>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void btnGameStart_Click(object sender, EventArgs e)
        {
            Response.Redirect("Bowling.aspx?userID=" + UserID);

        }
    }
}